# -*- coding: utf-8 -*-

"""
Nome do modulo: aula5.py
Autor: Soraia Janeiro
Data: 24/10/2013
Obs: classe5
"""

class MeioTransporte:
	def __init__(self, combustivel = "gasolina"):
		self.combustivel = combustivel
		self.__privado = True
	def __str__(self):
		return " combustivel = " + str(self.combustivel)

class Carro(MeioTransporte):
	def __init__(self, combustivel):
		MeioTransporte.__init__(self, combustivel)
	
	def __str__(self):
		return MeioTransporte.__str__(self)
		

obj = Carro("gasoleo")
print isinstance(obj, MeioTransporte)
print issubclass(Carro, MeioTransporte)
try:
	print obj.__privado
except AttributeError:
	print "__privado é uma variavel privada"


class Cartao(object):
	def __init__(self, nome):
		self.nome = nome
	
	def __str__(self):
		return str(self.nome)
		
class CartaoCidadao(Cartao):
	def __init__(self, nome, numero):
		self.numero = numero
		super(CartaoCidadao, self).__init__(nome)

class ListaCidadao(list):
	def __str__(self):
		s= ""; c=0
		for x in self: c+=1; s+= "\n" + str(c) + " " + str(x)
		return s

obj = CartaoCidadao("Eleuterio Coelho", "12345")
print obj.nome
lista1 = ListaCidadao()
lista1.append(Cartao("Ildefonso Coelho"))
lista1.append(Cartao("Hermenegildo Coelho"))
print lista1

class UserClass:
	pass

try:
	raise(UserClass)
except UserClass:
	print "arggghhh..."
